home *** CD-ROM | disk | FTP | other *** search
File List | 1986-08-30 | 4.9 KB | 157 lines |
- Microsoft MACRO Assembler Version 3.00 Page 1-1
- 08-30-86
-
-
- 1 0000 DATA SEGMENT PUBLIC 'DATA'
-
- 2
- ; PUBLIC AND EXTERN DATA
- 3
- ; DECLORATIONS GO HERE
- 4 0000 DATA ENDS
- 5 DGROUP GROUP DATA
- 6 ASSUME CS: INTRS , DS :
- DGROUP , SS : DGROUP
- 7
- 8 0000 INTRS SEGMENT 'CODE'
- 9 PUBLIC INTR
- 10 0000 INTR PROC FAR
- 11 0000 55 PUSH BP
- ; SAVE OLD FRAME POINTE
- R
- 12 0001 8B EC MOV BP,SP
- ; GET FRAME POINTER
- 13 0003 1E PUSH DS
- ; SAVE DATA SEG REG
- 14 0004 0E PUSH CS
- 15 0005 1F POP DS
- ; MAKE THIS CODE ADDRES
- SABLE
- 16 0006 8B 46 0A MOV AX,10[BP]
- ; GET INTERUPT VALUE
- 17 0009 BE 0048 R MOV SI,OFFSET CS:IN
- T_INS+1 ; SET INTERUPT INSTRUCTION
- 18 000C 2E: 88 04 MOV CS:[SI],AL
- 19 000F 8B 76 06 MOV SI,6[BP]
- ; GET REG PACK OFFSET
- 20 0012 8B 46 08 MOV AX,8[BP]
- ; GET REG PACK SEGMENT
- 21 0015 8E D8 MOV DS,AX
- ; MAKE REG PACK ADDRESS
- ABLE
- 22 0017 2E: A3 0082 R MOV CS:REG_PACK_DS,
- AX ; SAVE REG PACK SEG
- 23 001B 2E: 89 36 0084 R MOV CS:REG_PACK_OFF
- ,SI ; SAVE REG PACK OFFSET
- 24 ;------------------- PUSH USER REGS ---
- ---------------------------
- 25 0020 FF 74 12 PUSH 12H[SI]
- 26 0023 FF 74 10 PUSH 10H[SI]
- 27 0026 FF 74 0E PUSH 0EH[SI]
- 28 0029 FF 74 0C PUSH 0CH[SI]
- 29 002C FF 74 0A PUSH 0AH[SI]
- 30 002F FF 74 08 PUSH 08H[SI]
- 31 0032 FF 74 06 PUSH 06H[SI]
- 32 0035 FF 74 04 PUSH 04H[SI]
- 33 0038 FF 74 02 PUSH 02H[SI]
- 34 003B FF 34 PUSH [SI]
- 35 ;----------------- APPLICATION --------
- Microsoft MACRO Assembler Version 3.00 Page 1-2
- 08-30-86
-
-
- --------------------------------
- 36 ; SET UP REGISTERS AS REQUIRED FOR INT
- ERUPT INSTRUCTION
- 37 003D 58 POP AX
- 38 003E 5B POP BX
- 39 003F 59 POP CX
- 40 0040 5A POP DX
- 41 0041 5D POP BP
- 42 0042 5E POP SI
- 43 0043 5F POP DI
- 44 0044 1F POP DS
- 45 0045 07 POP ES
- 46 0046 9D POPF
- 47 0047 CD 10 INT_INS: INT 10H
- ; DUMMY INT WILL BE REPLACE WHEN EXECUT
- ED
- 48 ; SAVE RETURNED REGISTER VALUES
- 49 0049 9C PUSHF
- 50 004A 06 PUSH ES
- 51 004B 1E PUSH DS
- 52 004C 57 PUSH DI
- 53 004D 56 PUSH SI
- 54 004E 55 PUSH BP
- 55 004F 52 PUSH DX
- 56 0050 51 PUSH CX
- 57 0051 53 PUSH BX
- 58 0052 50 PUSH AX
- 59 ; POP INTERUPT REGISTERS BACK TO THEIR
- HOME
- 60 0053 0E PUSH CS
- 61 0054 1F POP DS
- 62 0055 2E: A1 0082 R MOV AX,CS:REG_PACK_
- DS ; SAVE REG PACK SEG
- 63 0059 2E: 8B 36 0084 R MOV SI,CS:REG_PACK_
- OFF ; SAVE REG PACK OFFSET
- 64 005E 8E D8 MOV DS,AX
- ; MAKE REG PACK ADDRESSABLE AGA
- IN
- 65 0060 8F 04 POP [SI]
- 66 0062 8F 44 02 POP 02H[SI]
- 67 0065 8F 44 04 POP 04H[SI]
- 68 0068 8F 44 06 POP 06H[SI]
- 69 006B 8F 44 08 POP 08H[SI]
- 70 006E 8F 44 0A POP 0AH[SI]
- 71 0071 8F 44 0C POP 0CH[SI]
- 72 0074 8F 44 0E POP 0EH[SI]
- 73 0077 8F 44 10 POP 10H[SI]
- 74 007A 8F 44 12 POP 12H[SI]
- 75 ;----------------- END APP ------------
- --------------------------------
- 76 007D 1F POP DS
- ; RESTORE OLD DATA SEGMENT
- 77 007E 5D POP BP
- ; RESTORE BASE POINTER REGISTER
- Microsoft MACRO Assembler Version 3.00 Page 1-3
- 08-30-86
-
-
- 78 007F CA 0006 RET 6
- ; RETURN POP FOUR BYTES
- 79 0082 INTR ENDP
- 80 0082 ???? REG_PACK_DS DW ?
- 81 0084 ???? REG_PACK_OFF DW ?
- 82 0086 INTRS ENDS
- 83 END
-
- Microsoft MACRO Assembler Version 3.00 Page Symbols
- -1
- 08-30-86
-
-
- Segments and Groups:
-
- N a m e Size Align Combine Class
-
- DGROUP . . . . . . . . . . . . . GROUP
- DATA . . . . . . . . . . . . . . 0000 PARA PUBLIC 'DATA'
- INTRS. . . . . . . . . . . . . . 0086 PARA NONE 'CODE'
-
- Symbols:
-
- N a m e Type Value Attr
-
- INTR . . . . . . . . . . . . . . F PROC 0000 INTRS Global Length
- =0082
- INT_INS. . . . . . . . . . . . . L NEAR 0047 INTRS
- REG_PACK_DS. . . . . . . . . . . L WORD 0082 INTRS
- REG_PACK_OFF . . . . . . . . . . L WORD 0084 INTRS
-
- 49698 Bytes free
-
- Warning Severe
- Errors Errors
- 0 0
-